//package com.zhouyu.encoder;
//
//import com.zhouyu.commonapi.nettyapi.MyMessage;
//import io.netty.buffer.ByteBuf;
//import io.netty.channel.ChannelHandlerContext;
//import io.netty.handler.codec.MessageToByteEncoder;
//
//import java.text.SimpleDateFormat;
//
///**
// * @Description:自定义编码器
// * | 协议开始标志 | 包长度(有效内容)|令牌 (定长50个字节)|令牌生成时间(定长50个字节)| 包内容 |
// */
//public class MyMessageEncoder extends MessageToByteEncoder<MyMessage> {
//    @Override
//    protected void encode(ChannelHandlerContext channelHandlerContext, MyMessage myMessage, ByteBuf byteBuf) throws Exception {
//        //协议开头标志
//        byteBuf.writeInt(myMessage.getHead().getHeadData());
//        //包长度
//        byteBuf.writeInt(myMessage.getContent().length);
//
//        byte[] indexByte = myMessage.getHead().getToken().getBytes();
//        byte[] tokenByte = new byte[50];
//        try {
//            System.arraycopy(indexByte, 0, tokenByte, 0, indexByte.length > tokenByte.length ? tokenByte.length : indexByte.length);
//        } catch (Exception e) {
//            // TODO: handle exception
//            e.printStackTrace();
//        }
//        //写入令牌
//        byteBuf.writeBytes(tokenByte);
//
//
//        byte[] createTimeByte = new byte[50];
//        SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String time = format0.format(myMessage.getHead().getCreateDate());
//        indexByte = time.getBytes();
//        System.arraycopy(indexByte, 0, createTimeByte, 0, indexByte.length > createTimeByte.length ? createTimeByte.length : indexByte.length);
//        //写入令牌生成时间
//        byteBuf.writeBytes(createTimeByte);
//
//        // 写入消息主体
//        byteBuf.writeBytes(myMessage.getContent());
//    }
//}
